<template>
  <el-submenu
    v-if="menu.list && menu.list.length >= 1 && menu.type < 1"
    :index="menu.menuId + ''"
    :popper-append-to-body="false"
    :popper-class="'site-sidebar--' + sidebarLayoutSkin + '-popper'"
  >
    <template slot="title">
      <icon-svg
        :name="menu.icon || ''"
        class="site-sidebar__menu-icon"
      ></icon-svg>
      <span>{{ menu.name }}</span>
    </template>
    <template  v-for="item in menu.list" >
      <SubMenu
        v-if="item.type < 2"
        :key="item.menuId"
        :menu="item"
        :dynamicMenuRoutes="dynamicMenuRoutes"
      >
      </SubMenu>
    </template>
  </el-submenu>
  <el-menu-item v-else :index="menu.menuId + ''" @click="gotoRouteHandle(menu)">
    <icon-svg
      :name="menu.icon || ''"
      class="site-sidebar__menu-icon"
    ></icon-svg>
    <span>{{ menu.name }}</span>
  </el-menu-item>
</template>

<script>
import SubMenu from "./sub-tree-menu";
export default {
  name: "SubMenu",
  props: {
    menu: {
      type: Object,
      required: true
    },
    dynamicMenuRoutes: {
      type: Array,
      required: true
    }
  },
  components: {
    SubMenu
  },
  computed: {
    sidebarLayoutSkin: {
      get() {
        return this.$store.state.common.sidebarLayoutSkin;
      }
    }
  },
  methods: {
    // 通过menuId与动态(菜单)路由进行匹配跳转至指定路由
    gotoRouteHandle(menu) {
      var route = this.dynamicMenuRoutes.filter(
        item => item.meta.menuId === menu.menuId
      );

      if (route.length >= 1) {
        this.$router.push({ name: route[0].name, query: route[0].meta.query });
      }
    }
  }
};
</script>
